package com.mayikt.controller;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

import static com.mayikt.basic.Constants.*;

/**
 * @author 蚂蚁课堂创始人-余胜军QQ644064779
 * @title: FanoutProducer
 * @description: 每特教育独创第五期互联网架构课程
 * @date 2019/12/1021:51
 */
@RestController
public class RouteProducer {
    @Resource
    private RabbitTemplate rabbitTemplate;

    @RequestMapping("/sendDirectMsg")
    public String sendMsg1(String key) {
        // 投递消息 客户端不会立马知道消费是否被消费，但是能够确认知道我们是否投递到消息中间件
        for (int i = 0; i < 100; i++) {
            rabbitTemplate.convertAndSend(DIRECT_EXCHANGE_NAME, key,"测试work模型: " + i);
        }
        /*  根据消息全局id主动查询
         */
        return "success---rabbitTemplate";
    }

    @RequestMapping("/sendFanoutMsg")
    public String sendMsg2() {
        // 投递消息 客户端不会立马知道消费是否被消费，但是能够确认知道我们是否投递到消息中间件
        for (int i = 0; i < 100; i++) {
            rabbitTemplate.convertAndSend(FANOUT_EXCHANGE_NAME, "","测试work模型: " + i);
        }
        /*  根据消息全局id主动查询
         */
        return "success---rabbitTemplate";
    }

    @RequestMapping("/sendTopicMsg")
    public String sendMsg3(String key) {
        // 投递消息 客户端不会立马知道消费是否被消费，但是能够确认知道我们是否投递到消息中间件
        for (int i = 0; i < 100; i++) {
            rabbitTemplate.convertAndSend(TOPIC_EXCHANGE_NAME, key,"测试work模型: " + i);
        }
        /*  根据消息全局id主动查询
         */
        return "success---rabbitTemplate";
    }
}
